package cn.com.yusys.yusp.admin.repository.mapper;

import cn.com.yusys.yusp.admin.domain.AdminSmLog;
import cn.com.yusys.yusp.commons.dto.Obj;
import cn.com.yusys.yusp.commons.mapper.CommonMapper;
import cn.com.yusys.yusp.commons.mapper.QueryModel;

import java.util.List;
import java.util.Map;

/**
 * @author zhoukanghui
 * @version 1.0
 * @date 2021/7/14 16:07
 * 客户视图
 */
public interface CustomerViewInfoMapper extends CommonMapper<AdminSmLog> {

    /**
     * 查询需要展示的客户基本信息
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustInfomation(QueryModel queryModel);

    /**
     * 时间轴
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getTimeAxsInfomation(QueryModel queryModel);

    /**
     * 获取客户资产时点余额环形图
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustAssetTime(QueryModel queryModel);

    /**
     * 获取客户负债时点余额环形图
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustliabilityInfo(QueryModel queryModel);

    /**
     * 客户半年资产波动折线图
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getAssertsChangeMonthTrend(QueryModel queryModel);
    /**
     * 存款明细获取
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustDepInfo(QueryModel queryModel);

    /**
     * 贷款明细获取
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustLoanInfo(QueryModel queryModel);

    /**
     * 理财明细获取
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustFincInfo(QueryModel queryModel);

    /**
     * 基金明细获取
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustFundInfo(QueryModel queryModel);

    /**
     * 保险明细获取
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustBxInfo(QueryModel queryModel);

    /**
     * 信托明细获取
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getCustXtInfo(QueryModel queryModel);

    /**
     * 客户持有产品信息获取
     * @return
     */
    List<Map<String, Object>> getcustAllTag(QueryModel queryModel);

    /**
     * 家庭关系信息
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getFmyRel(QueryModel queryModel);

    /**
     * 资金流向
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getFndFlow(QueryModel queryModel);

    /**
     * 担保关系
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getGurtRel(QueryModel queryModel);

    /**
     * 对外投资
     * @param queryModel
     * @return
     */
    List<Map<String,Object>> getExtIvs(QueryModel queryModel);

    /**
     * 客户网格归属历史信息
     * @param queryModel
     * @return
     */
    List<Map<String, Object>> custBelongHis(QueryModel queryModel);
}
